Semantics of Concurrent Revisions

نویسندگان

  • Sebastian Burckhardt
  • Daan Leijen
چکیده

Enabling applications to execute various tasks in parallel is difficult if those tasks exhibit read and write conflicts. We recently developed a programming model based on concurrent revisions that addresses this challenge in a novel way: each forked task gets a conceptual copy of all the shared state, and state changes are integrated only when tasks are joined, at which time write-write conflicts are deterministically resolved. In this paper, we study the precise semantics of this model, in particular its guarantees for determinacy and consistency. First, we introduce a revision calculus that concisely captures the programming model. Despite allowing concurrent execution and locally nondeterministic scheduling, we prove that the calculus is confluent and guarantees determinacy. We show that the consistency guarantees of our calculus are a logical extension of snapshot isolation with support for conflict resolution and nesting. Moreover, we discuss how custom merge functions can provide stronger guarantees for particular data types that are tailored to the needs of the application. Finally, we show we can visualize the nonlinear history of state in our computations using revision diagrams that clarify the synchronization between tasks and allow local reasoning about state updates.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Offline Framework for Performance Comparison of Software Revisions

Repository-based version control systems such as CVS, RCS, Subversion, and GIT, are extremely useful tools that enable software developers to concurrently modify source code, manage conflicting changes, and commit updates as new revisions. Such systems facilitate collaboration with and concurrent contribution to shared source code by large developer bases. In this work, we investigate a framewo...

متن کامل

Interval Construction within Partially Ordered Object Versions

Revisions of objects (or files, respectively) have always been managed by using labels attached to the revisions. Yet, typical version managers assume that the revisions are ordered totally or at least in a tree-like order. The ordering of labels reflects the semantical dependencies of revisions of a single object, therefore the labels should be able to represent a revision R inheriting propert...

متن کامل

Interval Construction within Partially Ordered Object Versions 1

Revisions of objects (or files, respectively) have always been managed by using labels attached to the revisions. Yet, typical version managers assume that the revisions are ordered totally or at least in a tree-like order. The ordering of labels reflects the semantical dependencies of revisions of a single object, therefore the labels should be able to represent a revision R inheriting propert...

متن کامل

Revision speci cations by means of programsVictor

We propose a formalism for specifying revisions in knowledge bases and belief sets. This formalism extends logic programming with stable model semantics. Main objects of our system are revision programs consisting of revision rules. A revision rule expresses a speciication of change or a constraint on a knowledge base. There are two types of revision rules. In-rules require that an element be i...

متن کامل

On the Semantics of Counterfactuals

It is argued that Ginsberg's Possible Worlds Approach to counterfactual implication suffers from a number of defects which are the result of confusing proof theory and model theory. In particular, logically equivalent theories do not have identical counterfactual consequences, and monotonic theory revisions are not always preferred to nonmonotonic ones. This paper develops a situation semantics...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011